package com.vipboot.framework.core.constant;

/**
 * 全局过滤器顺序执行常量类
 */
public interface WebFilterOrderConst {

    /**
     * 用户信息传递过滤器执行顺序排序
     */
//    public static final int USER_TRANSMIT_FILTER_ORDER = 100;

    int CorsFilter = Integer.MIN_VALUE;

    int TraceFilter = CorsFilter + 1;

    int RequestBodyCacheFilter = Integer.MIN_VALUE + 500;

    int CryptoFilter = Integer.MIN_VALUE + 600;

    // OrderedRequestContextFilter 默认为 -105，用于国际化上下文等等

    int TenantContextFilter = -104; // 需要保证在 ApiAccessLogFilter 前面

    int ApiAccessLogFilter = -103; // 需要保证在 RequestBodyCacheFilter 后面

    int XssFilter = -102;  // 需要保证在 RequestBodyCacheFilter 后面

    // SaToken Spring Security Filter 默认为 -100，可见 org.springframework.boot.autoconfigure.security.SecurityProperties 配置属性类

    int TenantSecurityFilter = -99; // 需要保证在 Spring Security 过滤器后面

    int FlowableFilter = -98; // 需要保证在 Spring Security 过滤后面

    int DemoFilter = Integer.MAX_VALUE;

}
